#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# 第一行注释是为了告诉Linux/OS X系统，这是一个Python可执行程序，Windows系统会忽略这个注释
# 第二行注释是为了告诉Python解释器，按照UTF-8编码读取源代码，否则，你在源代码中写的中文输出可能会有乱码

# Python的整数没有大小限制
# Python的浮点数也没有大小限制，但是超出一定范围就直接表示为inf（无限大）。

# 布尔值可以用 and、or和not运算。
print(3 > 2 and 5 < 4)

# 空值 None
if 3 > 2:
    print("is true")
elif 3 > 1:
    print("mmp")
else:
    print("false")

# 变量名必须是大小写英文、数字和_的组合，且不能用数字开头
var_one = "hello"

# python的除法是精确的
print("10 / 3 : ", 10 / 3)
# 二个整数相除也是浮点数
print("10 / 2 : ", 10 / 2)
# 地板除 [//] 和java除法一样
print("10 // 3 : ", 10 // 3)

# charset
print("你好世界")

# ord()函数获取字符的整数表示，chr()函数把编码转换为对应的字符
print(ord("A"))
print(chr(66))

# 由于Python的字符串类型是str，在内存中以Unicode表示，一个字符对应若干个字节。
# 如果要在网络上传输，或者保存到磁盘上，就需要把str变为以字节为单位的bytes
# bytes类型的数据用带b前缀的单引号或双引号表示
b1 = b"ABC"
str1 = "ABC"
print(b1 == str1)

# len()函数计算的是str的字符数，空格也算
# 如果换成bytes，len()函数就计算字节数
print(len("hello, world"))  # 12
print(len(b"hello, world"))  # 12
print(len("你好世界"))  # 4
# 1个中文字符经过UTF-8编码后通常会占用3个字节，而1个英文字符只占用1个字节。
print(len('中文'.encode('utf-8')))  # 6

# 格式化输出 与c完全一致
# %d 整数 %f 浮点数 %s 字符串 %x 十六进制整数
print("%2d-%02d" % (3, 1))
print("%.2f" % 3.14159265358979)
# %%转义输出%
print("percent : %d%%" % 8)
print("%.1f%%" % (1300 / 72))

#  循环
resultSum = 0
for x in range(101):
    if x == 100:
        break
    resultSum += x
print(resultSum)

count = 10
while count > 0:
    count = count - 1
    if count % 2 == 0 and count != 0:
        print(count, end=" ")
    else:
        continue
